System for forming and processing text data for use in program specific information for broadcast

ABSTRACT

Packetized video program information used in video processing and storage medium formats includes program related text messages. A decoder decodes packetized video program information including program related text messages. The decoder determines a broadcast programming time segment associated with a desired program related text message and identifies program related text message data occurring in the determined broadcast programming time segment. The decoder acquires the identified program related text message data and formats the text message data for display.

This is a non-provisional application of provisional application Ser.No. 60/052,152 by E. A. Heredia et al, filed Jul. 10, 1997.

FIELD OF THE INVENTION

This invention is related to the formation of Program Guides, systeminformation and program specific information for MPEG compatibleprocessing.

BACKGROUND OF THE INVENTION

In video broadcast and processing applications, digital video data istypically encoded to conform to the requirements of a known standard.One such widely adopted standard is the MPEG2 (Moving Pictures ExpertGroup) image encoding standard, hereinafter referred to as the "MPEGstandard". The MPEG standard is comprised of a system encoding section(ISO/IEC 13818-1, Jun. 10, 1994) and a video encoding section (ISO/IEC13818-2, Jan. 20, 1995). Data encoded to the MPEG standard is in theform of a packetized datastream which typically includes the datacontent of many program channels (e.g. content corresponding to cabletelevision channels 1-125). Further, several digital services andchannels may occupy the frequency spectrum previously occupied by asingle analog channel. A 6 MHz bandwidth previously allocated to ananalog NTSC compatible broadcast channel may now be split into a numberof digital sub-channels offering a variety of services. For example, thebroadcast spectrum for RF channel 13 may be allocated to sub-channelsincluding a main program channel, a financial service channel offeringstock quotes, a sports news service channel and a shopping andinteractive channel. In addition, both the quantity of sub-channelstransmitted and the individual sub-channel bandwidth may be changeddynamically to accommodate changing broadcast programming requirements.

In such a digital video system the proliferation in the quantity ofservices being broadcast and the increased variety of their content, aswell as the ability of a broadcaster to dynamically vary the number andallocated bandwidth of these channels poses a number of problems.Specifically, the increase in the quantity of broadcast channels mayincrease the difficulty of tuning and lengthen the time required toacquire a selected program channel. Further, as the quantity of channelsincreases so does the quantity of ancillary program specific informationrequired in decoding the transmitted program data. The ancillary programspecific information includes data used in identifying and assemblingpackets comprising selected programs and also includes program guide andtext information associated with the transmitted program data. Theincreased quantity and variety of ancillary information transmittedplaces an additional burden on available transmission bandwidth andreceiver decoding and storage resources.

In addition, channel numbering in such a digital video system maypresent a problem. This is because a broadcaster may not want to lose anoriginal analog NTSC broadcast channel number even though thebroadcaster is transmitting several program channels in the frequencyspectrum previously occupied by the single analog program channel. Thebroadcaster may have a significant investment in the channel number as abrand identity e.g. Fox 5™, Channel 13™. These problems and derivativeproblems are addressed by a system according to the present invention.

SUMMARY OF THE INVENTION

A decoder decodes packetized video program information including programrelated text messages. The decoder determines a broadcast programmingtime segment associated with a desired program related text message andidentifies program related text message data occurring in the determinedbroadcast programming time segment. The decoder acquires the identifiedprogram related text message data and formats the text message data fordisplay.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing:

FIG. 1 is a block diagram of digital video receiving apparatus fordemodulating and decoding broadcast signals, according to the principlesof the invention.

FIG. 2 shows a Master Guide Table (MGT) format for use in conveyingprogram specific information, according to the invention.

FIG. 3 shows a Channel Information Table (CIT) format for use inconveying program specific information incorporating dual programchannel identification numbers, according to the invention.

FIG. 4 shows a Service Location Descriptor (SLD) format for use inconveying program specific information incorporating program mapinformation, according to the invention.

FIG. 5 shows a program specific information text format for use inconveying program related text information, according to the invention.

FIG. 6 shows a scheme for assigning a text message identifier as used inthe text format of FIG. 5.

FIG. 7 shows a multiple compressed text string format for use inconveying program related text information, according to the invention.

FIGS. 8 and 9 show exemplary indicator definitions for compression andcoding indicators within the multiple compressed text string format ofFIG. 7.

FIG. 10 shows a method for generating program specific informationaccording to the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a digital video receiving system fordemodulating and decoding broadcast signals, according to the principlesof the invention. Although the disclosed system is described in thecontext of a system for receiving video signals incorporating programspecific information including program guide data in MPEG compatibleformat, it is exemplary only. The program specific information may be ofa variety of types. For example, it may comply with Program SpecificInformation (PSI) requirements specified in section 2.4.4 of the MPEGsystems standard or it may comply with the high definition television(HDTV) signal standard Digital Television Standard for HDTV Transmissionof Apr. 12 1995, prepared by the United States Advanced TelevisionSystems Committee (ATSC) or other ATSC standards. Alternatively, it maybe formed in accordance with proprietary or custom requirements of aparticular system.

The principles of the invention may be applied to terrestrial, cable,satellite, Internet or computer network broadcast systems in which thecoding type or modulation format may be varied. Such systems mayinclude, for example, non-MPEG compatible systems, involving other typesof encoded datastreams and other methods of conveying program specificinformation. Further, although the disclosed system is described asprocessing broadcast programs, this is exemplary only. The term`program` is used to represent any form of packetized data such as audiodata, telephone messages, computer programs, Internet data or othercommunications, for example.

In overview, in the video receiver system of FIG. 1, a broadcast carriermodulated with signals carrying audio, video and associated datarepresenting broadcast program content is received by antenna 10 andprocessed by unit 13. The resultant digital output signal is demodulatedby demodulator 15. The demodulated output from unit 15 is trellisdecoded, mapped into byte length data segments, deinterleaved andReed-Solomon error corrected by decoder 17. The corrected output datafrom unit 17 is in the form of an MPEG compatible transport datastreamcontaining program representative multiplexed audio, video and datacomponents. The transport stream from unit 17 is demultiplexed intoaudio, video and data components by unit 22 which are further processedby the other elements of decoder system 100. In one mode, decoder 100provides MPEG decoded data for display and audio reproduction on units50 and 55 respectively. In another mode, the transport stream from unit17 is processed by decoder 100 to provide an MPEG compatible datastreamfor storage on storage medium 105 via storage device 90.

A user selects for viewing either a TV channel or an on-screen menu,such as a program guide, by using a remote control unit 70. Processor 60uses the selection information provided from remote control unit 70 viainterface 65 to appropriately configure the elements of FIG. 1 toreceive a desired program channel for viewing. Processor 60 comprisesprocessor 62 and controller 64. Unit 62 processes (i.e. parses, collatesand assembles) program specific information including program guide andsystem information and controller 64 performs the remaining controlfunctions required in operating decoder 100. Although the functions ofunit 60 may be implemented as separate elements 62 and 64 as depicted inFIG. 1, they may alternatively be implemented within a single processor.For example, the functions of units 62 and 64 may be incorporated withinthe programmed instructions of a microprocessor. Processor 60 configuresprocessor 13, demodulator 15, decoder 17 and decoder system 100 todemodulate and decode the input signal format and coding type. Units 13,15, 17 and sub-units within decoder 100 are individually configured forthe input signal type by processor 60 setting control register valueswithin these elements using a bi-directional data and control signal busC.

The transport stream provided to decoder 100 comprises data packetscontaining program channel data and program specific information. Unit22 directs the program specific information packets to processor 60which parses, collates and assembles this information intohierarchically arranged tables. Individual data packets comprising theUser selected program channel are identified and assembled using theassembled program specific information. The program specific informationcontains conditional access, network information and identification andlinking data enabling the system of FIG. 1 to tune to a desired channeland assemble data packets to form complete programs. The programspecific information also contains ancillary program guide information(e.g. an Electronic Program Guide--EPG) and descriptive text related tothe broadcast programs as well as data supporting the identification andassembly of this ancillary information.

The program specific information is assembled by processor 60 intomultiple hierarchically arranged and inter-linked tables. An exemplaryhierarchical table arrangement includes a Master Guide Table (MGT), aChannel Information Table (CIT), Event Information Tables (EITs) andoptional tables such as Extended Text Tables (ETTs). The MGT containsinformation for acquiring program specific information conveyed in othertables such as identifiers for identifying data packets associated withthe other tables. The CIT contains information for tuning and navigationto receive a User selected program channel. The EIT contains descriptivelists of programs (events) receivable on the channels listed in the CIT.The ETT contains text messages describing programs and program channels.Additional program specific information describing and supplementingitems within the hierarchical tables is conveyed within descriptorinformation elements. The program specific information acquired byprocessor 60 via unit 22 is stored within internal memory of unit 60.

Considering FIG. 1 in detail, a carrier modulated with signals carryingprogram representative audio, video and associated data received byantenna 10, is converted to digital form and processed by inputprocessor 13. Processor 13 includes radio frequency (RF) tuner andintermediate frequency (IF) mixer and amplification stages fordown-converting the input signal to a lower frequency band suitable forfurther processing. In this exemplary system, the input signal receivedby antenna 10 contains 33 Physical Transmission Channels (PTCs 0-32).Each Physical Transmission Channel (PTC) is allocated a 6 MHz bandwidthand contains, for example, up to 6 sub-channels.

It is assumed for exemplary purposes that a video receiver user selectsa sub-channel (SC) for viewing using remote control unit 70. Processor60 uses the selection information provided from remote control unit 70via interface 65 to appropriately configure the elements of decoder 100to receive the PTC corresponding to the selected sub-channel SC.Following down conversion, the output signal from unit 13 for theselected PTC has a bandwidth of 6 MHz and a center frequency in therange of 119-405 MHz. In the following discussion, an RF channel orPhysical Transmission Channel (PTC) refers to an allocated broadcastertransmission channel band which encompasses one or more sub-channels(also termed virtual or logical channels).

Processor 60 configures the radio frequency (RF) tuner and intermediatefrequency (IF) mixer and amplification stages of unit 13 to receive theselected PTC. The down-converted frequency output for the selected PTCis demodulated by unit 15. The primary functions of demodulator 15 arerecovery and tracking of the carrier frequency, recovery of thetransmitted data clock frequency, and recovery of the video data itself.Unit 15 also recovers sampling and synchronization clocks thatcorrespond to transmitter clocks and are used for timing the operationof processor 13, demodulator 15 and decoder 17. The recovered outputfrom unit 15 is provided to decoder 17.

The output from demodulator 15 is mapped into byte length data segments,deinterleaved and Reed-Solomon error corrected according to knownprinciples by unit 17. In addition, unit 17 provides a Forward ErrorCorrection (FEC) validity or lock indication to processor 60.Reed-Solomon error correction is a known type of Forward ErrorCorrection. The FEC lock indication signals that the Reed-Solomon errorcorrection is synchronized to the data being corrected and is providinga valid output. It is to be noted that the demodulator and decoderfunctions implemented by units 13, 15 and 17 are individually known andgenerally described, for example, in the reference text DigitalCommunication, Lee and Messerschmidt (Kluwer Academic Press, Boston,Mass., USA, 1988).

The corrected output data from unit 17 is processed by MPEG compatibletransport processor and demultiplexer 22. The individual packets thatcomprise either particular program channel content, or program specificinformation, are identified by their Packet Identifiers (PIDs).Processor 22 separates data according to type based on an analysis ofPacket Identifiers (PIDs) contained within packet header information andprovides synchronization and error indication information used insubsequent video, audio and data decompression.

The corrected output data provided to processor 22 is in the form of atransport datastream containing program channel content and programspecific information for many programs distributed through severalsub-channels. The program specific information in this exemplarydescription describes sub-channels present in a transport stream of aparticular PTC. However, in another embodiment the program specificinformation may also describe sub-channels located in other PTCs andconveyed in different transport streams. Groups of these sub-channelsmay be associated in that their source is a particular broadcaster orthey occupy the transmission bandwidth previously allocated to an analogNTSC compatible broadcast channel. Further, individual packets thatcomprise a selected program channel in the transport stream areidentified and assembled by processor 60 operating in conjunction withprocessor 22 using PIDs contained in the program specific information.

The program specific information is in the form of hierarchicallyarranged tables including an MGT, CIT, EIT, and ETT together withsupplementary descriptor information. The PID that identifies packetscomprising the MGT data is predetermined and stored within processor 60internal memory. Further, the MGT conveys the PIDs that identify theCIT, EIT, and ETT data and conveys other information indicating the sizeof these tables. Processor 60 monitors the MGT for updates to identifyany changes in PIDs or table sizes. Therefore, after processor 60determines from the FEC lock indication provided by unit 17 that validdata is being provided to transport processor 22, the MGT may beacquired without additional PID information. Using Control signal C,processor 60 configures transport processor 22 to select the datapackets comprising the remaining program specific information includingthe CIT, EIT and ETT data. Processor 22 matches the PIDs of incomingpackets provided by unit 17 with PID values pre-loaded in controlregisters within unit 22 by processor 60. Further, processor 60accesses, parses and assembles the program specific information packetscaptured by processor 22 and stores the program specific informationwithin its internal memory. Processor 60 derives tuning parametersincluding PTC carrier frequency, demodulation characteristics, andsub-channel PIDs, from the acquired program specific information.Processor 60 uses this information in configuring units 13, 15, 17 anddecoder 100 elements to acquire selected sub-channel (SC) programcontent.

The program specific information including MGT, CIT, EIT, and ETT dataand associated descriptors acquired and collated by processor 60incorporates advantageous features exemplified in the data formatspresented in FIGS. 2-9. These features facilitate the identification,acquisition, assembly and decoding of program channel content andassociated program guide data by decoder 100 (FIG. 1). Processor 60forms a MGT as exemplified by the data format of FIG. 2 by accessing andassembling the program specific information packets that are stored inthe unit 60 internal memory. The MGT contains data identifiers e.g.PID₋₋ ETT 205 and PID₋₋ PG 210 (FIG. 2) enabling the assembly of theCIT, EIT and ETT tables. Processor 60 uses the MGT data identifiers toaccess and assemble the program specific information packets to form theCIT, EIT, and ETT data and associated descriptors.

Processor 60 uses the acquired CIT channel map information, asexemplified in FIG. 3, to identify the packets comprising thesub-channel SC that the User selected to view. A user selectssub-channel SC for viewing by entering two program channel numbers viaremote control unit 70 and interface 65. Individual program channels areadvantageously allocated both a first and a second identificationnumber. The first identification number (a major number as indicated bybundle₋₋ number 300 in FIG. 3) identifies the broadcast source andbroadcaster channel brand number e.g. Fox 5™, Channel 13™. The firstidentification number indicates a broadcast source of a program orservice and may be independent of the RF channel on which the program isbroadcast. However, in other embodiments the first identification numbermay be associated with a broadcast RF channel or be associated withother program characteristics such as a program category or theme e.g.movies. The second identification number (a minor number as indicated bychannel₋₋ number₋₋ in₋₋ bundle 305 in FIG. 3) identifies a sub-channelcorresponding to a specific service within a group of services providedby a broadcaster. The first and second identification numbers inconjunction identify a particular service as a sub-channel provided by aspecific broadcaster. Although, the selected sub-channel SC may occupyan RF bandwidth within an encompassing channel spectrum associated withthe broadcast source, neither the first or second identification numbersare associated with such a spectrum. However, this association may bemade in an alternative embodiment. This dual numbering system enables abroadcaster to retain channel brand identity across a range ofdynamically allocable broadcast sub-channels.

The dual program channel identification numbers used to selectsub-channel SC may be entered by the user in a variety of ways. Thesemay include using remote unit 70 to select sub-channel SC from within ahierarchical menu system displaying program channel selections in aprogram guide or by simple sequential number entry via the unit 70keypad, for example. The channel selection system may also encompass theuse of a different data entry device such as a keyboard or discreteswitches, for example. Further, the data entry system also accommodatesthe entry of a single channel identification number as well as dualidentification numbers. Upon detecting a channel selection completioncommand, processor 60 converts a single channel identification numberentry into dual identification numbers. Processor 60 converts the singlechannel identification number to dual channel identification numbers inaccordance with a predetermined conversion map. This conversion may alsobe performed using a predetermined and stored algorithm or formula. Thederived dual identification numbers are used by processor 60 for packetidentification, tuning and for identifying other decoder information inthe manner previously described as if both numbers had been entered by auser.

Processor 60 uses the received program channel identification numbers300 and 305 provided from remote control unit 70 via interface 65 todetermine the PTC corresponding to the selected sub-channel SC from theCIT. Once the PTC number (item 315 in FIG. 3) is determined, processor60 (FIG. 1) configures units 13, 15, and 17 to receive the PTC for theselected sub-channel SC. The unique program sub-channel determined fromthe program channel identification numbers 300 and 305 may alternativelybe termed a service or a virtual channel or a logical channel and theCIT may be deemed a virtual channel table. Further, as well asassociating a particular PTC with first and second sub-channelidentification numbers 300 and 305 of selected sub-channel SC, the CITalso associates other parameters with SC. These parameters include (a) achannel₋₋ id 320 for linking the selected sub-channel SC with programcontent information conveyed in the EITs, (b) a channel₋₋ type indicator325 identifying whether the sub-channel data is, analog e.g. NTSC,digital video e.g. ATSC video or digital audio e.g. ATSC audio, (c) anETM₋₋ flag 330 indicating whether a text message is available for thissub-channel, (d) a channel name 340 and (e) a descriptor 335 e.g. aService Location Descriptor as described later.

Processor 60 advantageously determines program map information for theselected sub-channel SC from Service Location Descriptor (SLD) conveyedwithin the CIT. The SLD program map information is exemplified by thedata format of FIG. 4. The SLD associates the selected sub-channel SCwith packet identifiers, e.g. item 420, used to identify individualpacketized datastreams that constitute the components of a program beingtransmitted on selected sub-channel SC. In addition, the SLD program mapinformation, in conjunction with the CIT, maps the selected sub-channelSC to a program number 405, a PCR (Program Clock Reference) identifier410, a language code indicator 425, and a stream type identifier 415identifying a stream as video, audio, control, auxiliary or privateinformation, for example.

The SLD program map information replicates information already presentwithin the Program Map Table (PMT) segment of the MPEG compatibletransport stream input to decoder 100. However, by incorporating the SLDwithin the CIT, the time required by decoder 100 to identify and acquirea program being transmitted on selected sub-channel SC is advantageouslyreduced. This is because the CIT and SLD provide formatted and linkedinformation sufficient to enable processor 60 to directly configure andtune the system of FIG. 1 to receive the selected sub-channel SC.Specifically, the CIT and SLD directly associate individual first andsecond sub-channel identification numbers with the PIDs for identifyingthe datastreams that constitute a program being conveyed on thissub-channel. This enables processor 60 to configure the system of FIG. 1to receive the selected sub-channel SC without acquiring and using theProgram Map Table (PMT) information in the MPEG compatible transportstream input to decoder 100. In addition, the data partitioning, dataformatting and data repetition frequency characteristics of the CIT andSLD program map information may be determined independently of therequirements of MPEG PMT information.

The packetized decoded transport stream input to decoder 100 from unit17 contains video, audio and data representing TV programs, for example,and also contains sub-picture data. The sub-picture data containspicture elements associated with programs and channels selectable by auser for viewing including program guides, display commands, subtitling,selectable menu options or other items, for example. As such, thesub-picture data includes the EIT containing descriptive lists ofprograms (events) receivable on the sub-channels listed in the CIT andalso contains the ETT containing text messages describing programs andprogram sub-channels.

Processor 60 determines from the CIT and SLD the PIDs of the video,audio and sub-picture streams constituting the program being transmittedon selected sub-channel SC. Processor 22, matches the PIDs of incomingpackets provided by decoder 17 with PID values of the video, audio andsub-picture streams being transmitted on sub-channel SC. These PIDvalues are pre-loaded in control registers within unit 22 by processor60. In this manner, processor 22 captures packets constituting theprogram transmitted on sub-channel SC and forms them into MPEGcompatible video, audio and sub-picture streams for output to videodecoder 25, audio decoder 35 and sub-picture processor 30 respectively.The video and audio streams contain compressed video and audio datarepresenting the selected sub-channel SC program content. Thesub-picture data contains the EIT and ETT information associated withthe sub-channel SC program content.

Decoder 25 decodes and decompresses the MPEG compatible packetized videodata from unit 22 and provides decompressed program representative pixeldata to NTSC encoder 45 via multiplexer 40. Similarly, audio processor35 decodes the packetized audio data from unit 22 and provides decodedand amplified audio data, synchronized with the associated decompressedvideo data, to device 55 for audio reproduction. Processor 30 decodesand decompresses sub-picture data received from unit 22.

The sub-picture data decoded by processor 30 includes text messages(Extended Text Messages--ETMs) in an ETT in the exemplary data formatpresented in FIG. 5. The text messages conveyed in the ETT of FIG. 5 areadvantageously partitioned into time periods of specified duration. Thesegmented text messages describe programs occurring in a period ofspecified duration and start time e.g. 3 hour blocks starting from 12a.m., 3 p.m., 6 p.m. . . . etc. Indicators defining the duration andstart time applicable to the conveyed text messages are included in theMGT of FIG. 2 (duration item 215 and application₋₋ time item 220 of FIG.2 respectively). A text message (e.g. extended₋₋ text₋₋ message 505) isconveyed together with a text message identifier (ETM₋₋ id 510) in theformat of FIG. 5.

Decoder 100 (FIG. 1) is able to more efficiently acquire, process andstore program descriptive text messages that are partitioned into timeperiods of specified duration than is possible in the absence of suchsegmentation. This is because segmented text messages excludeinformation occurring outside the specified time period and consequentlyare smaller than non-segmented text messages. Therefore, segmented textmessage data occupies less storage space and can be acquired andprocessed more quickly than larger data blocks of non-segmented data.Further, the data format of FIG. 5 allows a user to acquire text messagedata for a selected sub-channel SC or a group of selected programsub-channels. This allows the identification, acquisition and decodingof text message data by decoder 100 to be focused on the programs andsub-channels of interest to a user and reduces the acquisition ofredundant text message information.

A text message conveyed in an ETT may contain channel information orprogram (event) information. FIG. 6 shows an exemplary format forassigning a text message identifier ETM₋₋ id 510 of FIG. 5 thatidentifies the type of text message e.g. whether the text messagecontains channel information (item 610 of FIG. 6) or program information(item 605 of FIG. 6). The text message identifier 510 (FIG. 5) alsoidentifies the source e.g. sub-channel to which the text messagepertains.

A text message 505 conveyed in the ETT of FIG. 5 is compressed andformatted according to the multiple compressed text string format ofFIG. 7. The compressed text string format advantageously incorporatesindicators facilitating the identification and decoding of multiplecompressed text strings by processor 30 in decoder 100 of FIG. 1.Processor 30 decodes text string 505 (FIG. 5) received from unit 22(FIG. 1) by determining the compression, coding and languagecharacteristics of the text string from indicators 705, 710 and 715(FIG. 7) respectively. Specifically, processor 30, operating inconjunction with processor 60, decompresses received text string 505 byapplying a decompression function e.g. a Huffman decompression function,selected using indicator 705. Similarly, processor 30, decodes thereceived text string by applying a decoding function interpreting textcharacters according to a character code set selected using indicator710 and a language code set selected using indicator 715. Further,processor 30 determines the number of text strings to be processed andthe number of bytes in each text string from indicators 725 and 720respectively.

FIG. 8 shows an exemplary indicator definition for compression indicator705 within the multiple compressed text string format of FIG. 7. It isto be noted that compression indicator 705 may indicate that nocompression function is employed within a text string. In this case,processor 30 does not apply a decompression function to the text stringreceived from unit 22. FIG. 9 shows an exemplary indicator definitionfor coding indicator 710 within the multiple compressed text stringformat of FIG. 7.

Processor 30 assembles and formats the decoded and decompressed textstring elements of text string 505 (FIG. 5) to form a decoded textstring for output to On-Screen Display (OSD) and graphics generator 37(FIG. 1). Unit 37 interprets and formats the text string character datafrom unit 30 and generates formatted pixel mapped text and graphics forpresentation on unit 50. The formatted pixel mapped text and graphicsdata may represent a program guide or other type of menu or userinterface for subsequent display on unit 50. Unit 37 also processes EIT,ETT and other information to generate pixel mapped data representing,subtitling, control and information menu displays including selectablemenu options, and other items, for presentation on unit 50. The controland information displays enable function selection and entry of deviceoperating parameters for User operation of decoder 100.

The text and graphics produced by OSD generator 37 are generated in theform of overlay pixel map data under direction of processor 60. Theoverlay pixel map data from unit 37 is combined and synchronized withthe decompressed pixel representative data from MPEG decoder 25 inencoder 45 via multiplexer 40 under direction of processor 60. Combinedpixel map data representing a video program on sub-channel SC togetherwith associated sub-picture text message data is encoded by NTSC encoder45 and output to device 50 for display.

In a storage mode of the system of FIG. 1, the corrected output datafrom unit 17 is processed by decoder 100 to provide an MPEG compatibledatastream for storage. In this mode, a program is selected for storageby a user via remote unit 70 and interface 65. Processor 22, inconjunction with processor 60 forms condensed program specificinformation including MGT, CIT, EIT and ETT data and descriptorscontaining the advantageous features previously described. The condensedprogram specific information supports decoding of the program selectedfor storage but excludes unrelated information. Processor 60, inconjunction with processor 22 forms a composite MPEG compatibledatastream containing packetized content data of the selected programand associated condensed program specific information. The compositedatastream is output to storage interface 95.

Storage interface 95 buffers the composite datastream to reduce gaps andbit rate variation in the data. The resultant buffered data is processedby storage device 90 to be suitable for storage on medium 105. Storagedevice 90 encodes the buffered datastream from interface 95 using knownerror encoding techniques such as channel coding, interleaving and ReedSolomon encoding to produce an encoded datastream suitable for storage.Unit 90 stores the resultant encoded datastream incorporating thecondensed program specific information on medium 105.

FIG. 10 shows a method for generating program specific informationincluding MGT, CIT, EIT and ETT data and descriptors containing theadvantageous features previously described. The method may be employedat an encoder for broadcasting video data such as the data received byantenna 10 of FIG. 1 or the method may be employed within a decoder unitsuch as within processor 60 of FIG. 1.

Following the start at step 800 of FIG. 10, a CIT is generated in step810. The CIT contains sub-channel and program identification informationenabling acquisition of available broadcast programs and sub-channels.The CIT incorporates first and second sub-channel identification numbersand an SLD containing packet identifiers for identifying individualpacketized datastreams that constitute individual programs to betransmitted on particular sub-channels. The generated CIT alsoincorporates items linked to listed program sub-channels including aprogram number, a PCR (Program Clock Reference) identifier, a languagecode indicator, and a stream type identifier, as previously described inconnection with FIG. 1.

In step 815, an EIT is generated containing program guide informationincluding descriptive lists of programs (events) receivable on thesub-channels listed in the CIT. In step 820, an ETT is generatedcontaining text messages describing programs, for example. Each textmessage is partitioned into time periods of specified duration. Theduration and application time of the segmented text message data is alsodefined by indicators in the ETT itself. The text message data isencoded and compressed according to known techniques and conveyed in theETT along with indicators defining the compression, coding and languagecharacteristics employed. The ETT is also generated to includeindicators defining the number of text strings to be processed and thenumber of bytes in each text string. In step 822 an MGT is generatedcontaining data identifiers enabling the identification and assembly ofCIT, EIT and ETT information. The MGT also conveys table sizeinformation for the previously generated CIT, EIT and ETT.

In step 825, program specific information is formed including the MGT,CIT, EIT and ETT data and descriptors generated in steps 805-822. Instep 830, the program specific information together with video and audioprogram representative components for multiple sub-channels is formattedinto a transport stream for output. In step 835, the output transportstream is further processed to be suitable for transmission to anotherdevice such as a receiver, video server, or storage device for recordingon a storage medium, for example. The processes performed in step 835include known encoding functions such as data compression Reed-Solomonencoding, interleaving, scrambling, trellis encoding, and carriermodulation. The process is complete and terminates at step 840. In theprocess of FIG. 10, multiple CIT, EIT and ETT tables may be formed andincorporated in the program specific information in order to accommodateexpanded numbers of sub-channels.

The architecture of FIG. 1 is not exclusive. Other architectures may bederived in accordance with the principles of the invention to accomplishthe same objectives. Further, the functions of the elements of decoder100 of FIG. 1 and the process steps of FIG. 10 may be implemented inwhole or in part within the programmed instructions of a microprocessor.In addition, the principles of the invention apply to any form of MPEGor non-MPEG compatible electronic program guide. A datastream formedaccording to the invention principles may be used in a variety ofapplications including video server or PC type communication viatelephone lines, for example. A program datastream with one or morecomponents of video, audio and data formed to incorporate programspecific information according to invention principles may be recordedon a storage medium and transmitted or re-broadcast to other servers,PCs or receivers. Further, any reference herein to "bandwidth" is to beinterpreted expansively to include bit rate capacity and is not limitedto a frequency spectrum, for example.

What is claimed is:
 1. Apparatus for decoding packetized video programinformation including program related text messages, comprising:meansfor determining a broadcast programming time segment associated with adesired program related text message; means for identifying programrelated text message data occurring in said determined broadcastprogramming time segment, wherein text message data associated with (a)a channel and (b) an event is separately identifiable; means foracquiring said identified program related text message data; and meansfor formatting said acquired program related text message data fordisplay.
 2. Apparatus according to claim 1, whereinsaid determiningdetermines a start time and duration of said broadcast programming timesegment.
 3. Apparatus according to claim 2, whereinat least one of saidduration and said start time are predetermined.
 4. Apparatus accordingto claim 1, whereinsaid broadcast programming time segment is determinedfrom a first indicator in said packetized video program information. 5.Apparatus according to claim 1, whereinsaid broadcast programming timesegment is determined from at least one of a) a text message dataidentifier in said packetized video program information, b) a versionnumber in said packetized video program information, and c) a programguide indicator associated with said desired program related message. 6.Apparatus according to claim 1, includingmeans for decompressing saidacquired program related text message data to form text elements byexamining an indicator identifying a decompression function to beemployed in decompressing said program related text message data. 7.Apparatus according to claim 1, whereinsaid acquired program relatedtext message data is partitioned into segments, and said apparatusfurther includes means for determining from a second indicator in saidpacketized video program information a number of data bytes in a portionof a segment.
 8. Apparatus according to claim 1, whereinsaid programrelated text message data represents at least one of a) program orchannel descriptive information, b) a broadcast channel name, c)geographical region information, d) program content rating information,e) program or channel map table information, f) program or event tabledescription information, and g) geographical rating region tableinformation.
 9. A storage medium containing MPEG compatible digital datarepresenting video information comprising:a packetized video program;and program related text message data associated with said packetizedvideo program including(a) a first indicator for indicating aprogramming time segment associated with said program related textmessage data; (b) different data identifiers for separately identifyingtext message data associated with (a) a channel and (b) an event; and(c) information for assembling text message data elements to form outputtext data.
 10. Apparatus according to claim 9, includingan indicatoridentifying a decompression function to be used in decompressing saidprogram related text message data.
 11. Apparatus for generating programspecific information suitable for inclusion in packetized video programinformation, said program specific information including a programrelated text message associated with a video program, said apparatuscomprising:means for forming text message decoding information for usein decoding program related text message data, said informationincluding(a) a first indicator for indicating a programming time segmentassociated with said program related text message data; and (b)information for assembling decoded text message data incorporatingdifferent data identifiers for separately identifying text message dataassociated with (a) a channel and (b) an event; and means forincorporating said text message decoding information into programspecific information for output.
 12. Apparatus according to claim 11,whereinsaid first indicator indicates at least one of a) a duration ofsaid broadcast programming time segment, and b) a start time of saidbroadcast programming time segment.
 13. Apparatus according to claim 11,includingmeans for partitioning program related text message data intotime segments associated with broadcast programming time intervals. 14.Apparatus according to claim 13, whereinsaid time segments comprisesubstantially three hour time intervals.
 15. Apparatus according toclaim 13, whereinsaid program related text message data represents atleast one of a) program or channel descriptive information, b) abroadcast channel name, c) geographical region information and d)program content rating information.
 16. Apparatus according to claim 13,whereinsaid program related text message data represents informationwithin at least one of a) program or channel map table information, b)program or event table description information, and c) geographicalrating region table information.
 17. Apparatus according to claim 11,whereinsaid first indicator comprises at least one of a) a text messagedata identifier, b) a version number associated with said text messagedata, c) a program guide indicator associated with said desired programrelated text message.
 18. Apparatus for generating program specificinformation suitable for inclusion in packetized video programinformation, said program specific information including a programrelated text message associated with a video program, said apparatuscomprising:means for forming text message decoding information for usein decoding program related text message data, said informationincluding(a) a first indicator for indicating a programming time segmentassociated with said program related text message data; and (b)information for assembling decoded text message data (c) an indicatoridentifying a decompression function to be used in decompressing saidprogram related text message data; and means for incorporating said textmessage decoding information into program specific information foroutput.
 19. Apparatus according to claim 11, wherein said text messagedecoding information includesa second indicator for indicating a numberof text messages to be decoded.
 20. Apparatus according to claim 11,wherein said text message decoding information includesa secondindicator for indicating a number of text bytes in a text string to bedecoded.
 21. A method for decoding packetized video program informationincluding program related text messages, comprising the stepsof:determining a broadcast programming time segment associated with adesired program related text message; identifying program related textmessage data, using different data identifiers for separatelyidentifying text message data associated with (a) a channel and (b) anevent, and occurring in said determined broadcast programming timesegment; acquiring said identified program related text message data;and formatting said acquired program related text message data fordisplay.
 22. A method for generating program specific informationsuitable for inclusion in packetized video program information, saidprogram specific information including a program related text messageassociated with a video program, said method comprising the stepsof:forming text message decoding information for use in decoding programrelated text message data, said information including(a) a firstindicator for indicating a programming time segment associated with saidprogram related text message data; (b) an indicator identifying adecompression function to be used in decompressing said program relatedtext message data; and (c) information for assembling decoded textmessage data; and incorporating said text message decoding informationinto program specific information for output.